package com.itcam.chat.domain.vo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.itcam.ai.utils.CustomLongDeserializer;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 发起问答时候用于接收的实体类
 */
@Data
public class QueryVo {
    @Schema(name = "projectId", description = "项目id，不同项目不同本地知识库")
    @NotNull
    private Long projectId;
    @Schema(name = "chatId", description = "聊天记录id，如果该id为null则不会保存会话的历史记录")
    @JsonDeserialize(using = CustomLongDeserializer.class)
    private Long chatId;
    @Schema(name = "language", description = "语言：英文(1)、中文(0)，文件上传删除时不需要该参数")
    @NotNull
    private Integer language = 0;
    @Schema(name = "msg", description = "用户的提问内容，文件上传删除时不需要该参数")
    @NotNull
    private String msg;
}